package 蓝桥杯;
/**
 * 【问题描述】
一个字符串的非空子串是指字符串中长度至少为 1 的连续的一段字符组成 的串。例如，
字符串aaab 有非空子串a, b, aa, ab, aaa, aab, aaab，一共 7 个。 注意在计算时，
只算本质不同的串的个数。 请问，字符串0100110001010001 有多少个不同的非空子串？
看到不同子串就该想到subString和set集合
 */

import java.util.HashSet;

public class 不同子串 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		String s="0100110001010001";
		HashSet<String> set=new HashSet<>();
		for (int i = 0; i < s.length(); i++) {
			for (int j = i; j <s.length(); j++) {
				//subString(0,0)取不到元素，在后面加一
				String s1=s.substring(i, j+1);
				System.out.println(s1);
				set.add(s1);
			}
		}
		System.out.println(set.size());
		
		System.out.println(set);
	}

}
